// #include <stdio.h>
// #include <stdlib.h>
// #include <windows.h>
// #include <assert.h>
//
// typedef struct SqList {
//     int* data;
//     int length;
//     int maxsize;
// }SqList;
//
// void InitSQ(SqList* L) {
//     L->data=NULL;
//     L->length=L->maxsize=0;
// }
//
// void Full(SqList* L) {
//     if(L->length==L->maxsize) {
//         int NewLength=L->length==0?4:2*L->maxsize;
//         int* tmp=(int*)realloc(L->data,sizeof(int)*NewLength);
//         if(tmp==NULL) {
//             exit(1);
//         }
//         L->data=tmp;
//         L->maxsize=NewLength;
//     }
// }
//
// void InsertBack(SqList* L, int elem) {
//     if (L == NULL) return;
//     Full(L);
//     L->data[L->length] = elem;
//     L->length++;
// }
//
// void Print(SqList* L) {
//     for(int i=0;i<L->length;i++) {
//         printf("%d ",L->data[i]);
//     }
//     printf("\n");
// }
//
// void Destroy(SqList* L) {
//     if(L == NULL) return;
//     free(L->data);
//     L->data = NULL;
//     L->length = L->maxsize = 0;
// }
//
// int compare(const void* a, const void* b) {
//     return (*(int*)a - *(int*)b);
// }
//
// int MinZ(SqList* L){
//     if(L==NULL||L->data==NULL) {
//         exit(1);
//     }
//     //从小到大排序
//     qsort(L->data,L->length,sizeof(int),compare);
//     //找出最小的元素，并且减一实现结果
//     int min=4327879582;
//     for(int i=0;i<L->length;i++) {
//         if(L->data[i]<min&&L->data[i]>0) {
//             min=L->data[i];
//         }
//     }
//     return min-1;
// }
//
// int main() {
//     SetConsoleOutputCP(CP_UTF8);
//     SqList L;
//     InitSQ(&L);
//     InsertBack(&L,-5);
//     InsertBack(&L,3);
//     InsertBack(&L,2);
//     InsertBack(&L,3);
//     int x=MinZ(&L);
//     printf("未出现的最小正整数为%d:",x);
//     Destroy(&L);
//     return 0;
// }